//
//  TKIMInterfaceHelper.h
//  TKIMSDK
//
//  Created by TryHone on 16/10/14.
//  Copyright © 2016年 TryHone. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "TKIMSDKManager.h"



//第三方接口类，主要是现实一些外围接口，暂时只是为推送平台使用

@interface TKIMInterfaceHelper : NSObject


+ (instancetype)sharedInstance;
/**
 *  @author Alan, 16-11-21 20:11:43
 *
 *  @brief 获取内存值
 *
 *  @param key
 *
 *  @return 返回内存中的值
 */
-(id)valueForKeyData:(NSString *)key;

/**
 *  @author Alan, 16-11-21 20:11:27
 *
 *  @brief 设置内存值
 *
 *  @param vaule 值
 *  @param key   key
 *
 *  @return 返回是否成功
 */
-(BOOL)setValueForKeyData:(NSString *)vaule key:(NSString*)key;


/**
 *  @author TryHone, 2016年09月21日18:48:03
 *
 *  @brief 股票订阅
 *
 *  @param app_key      app-key 应用key
 *  @param user_account 账号
 *  @param stock_code   股票代码
 *  @param up_price     股票上涨预警价
 *  @param down_price   股票下跌预警价
 *  @param up_percent   股票日涨幅预警值
 *  @param down_percent 股票日跌幅预警值
 *  @param back         回调
 */

+(void)subscribeStockInfo:(NSString*)app_key userAccount:(NSString*)user_account stockCode:(NSString*)stock_code up_price:(NSString*)up_price down_price:(NSString*)down_price up_percent:(NSString*)up_percent down_percent:(NSString*)down_percent callback:(callBackResposeInfo)back;



/**
 *  @author TryHone, 16-09-23 17:09:57
 *
 *  @brief 消息开关
 *
 *  @param app_key   应用appkey
 *  @param state     开关状态
 *  @param msgtypeid 消息类型ID
 *  @param set_type  开关类型 1 总开关  2 单个开关
 *  @param back      回调
 */
+(void)changeToggleListState:(NSString*)app_key state:(NSString*)state msgtypeid:(NSString*)msgtypeid setType:(NSString*)set_type callback:(callBackRespose)back;


/**
 *  @author Alan, 16-11-18 21:11:22
 *
 *  @brief 对客服评价
 *
 *  @param sessionid 会话ID
 *  @param sid       sid
 *  @param cid       cid
 *  @param score     评分
 *  @param describe  描述
 *  @param back      回调
 */
+(void)evaluationSatisfaction:(NSString*)sessionid sid:(NSString*)sid cid:(NSString*)cid score:(NSString*)score describe:(NSString*)describe spuid:(NSString*)spuid  cpuid:(NSString*)cpuid msgId:(NSString*)msgId callback:(callBackRespose)back;


#pragma mark--光大新增
+(NSString*)userCode;
/**
 *  @author Alan, 17-10-13 17:10:59
 *
 *  @brief 1. 注册接口 : 注册渠道账号，即主账号
 *
 *  @param userCode 注册渠道账号，即主账号
 *  @param back     回调
 */
+(void)registerChannelAccount:(NSString*)userCode callback:(TKIMCallBack)back;
/**
 *  @author Alan, 17-10-13 17:10:53
 *
 *  @brief  登陆接口:  登录主账号
 *
 *  @param userCode 主账号
 *  @param back     回调
 */
+(void)loginChannelAccount:(NSString*)userCode callback:(TKIMCallBack)back;
/**
 *  @author Alan, 17-12-05 13:12:21
 *
 *  @brief 登录接口 会实现of登录，
 *
 *  @param userCode 主账号
 *  @param back     回调
 */
+(void)loginChannelAccountWithOF:(NSString*)userCode callback:(TKIMCallBack)back;
/**
 *  @author Alan, 17-10-13 17:10:28
 *
 *  @brief  游客账号登录
 *
 *  @param back 回调
 */
+(void)loginTouristAccount:(TKIMCallBack)back;
/**
 *  @author Alan, 17-12-05 13:12:28
 *
 *  @brief 游客账号登录 会实现of登录
 *
 *  @param back 回调
 */
+(void)loginTouristAccountWithOF:(TKIMCallBack)back;
/**
 *  @author Alan, 17-10-13 17:10:49
 *
 *  @brief 主账号挂接渠道业务账号，例如:资金账号:
 *
 *  @param userCode 主账号
 *  @param custCode 业务账号
 *  @param back     回调
 */
+(void)bindChannelAccount:(NSString*)userCode custCode:(NSString*)custCode password:(NSString*)password callback:(TKIMCallBack)back;
//查询绑定过的资金账号
+(void)queryBindAccountList:(NSString *)puid callback:(TKIMCallBack)back;
/**
 *  @author Alan, 17-10-13 17:10:33
 *
 *  @brief 主账号解绑渠道业务账号，例如:资金账号:
 *
 *  @param userCode 主账号
 *  @param custCode 业务账号
 *  @param back     回调
 */
+(void)unBindChannelAccount:(NSString*)userCode custCode:(NSString*)custCode callback:(TKIMCallBack)back;

#pragma mark--一创
//获取推送分类
+(void)pushList:(NSString*)appkey cust_code:(NSString*)cust_code callBack:(TKIMCallBack)callBack;
//设置是否接收分类消息
+(void)setAccpetPushMsg:(NSString*)app_key cust_code:(NSString*)cust_code msgtypeid:(NSString*)msgtypeid  state:(NSString*)state callBack:(TKIMCallBack)callBack;

@end
